Tag Length Value Blocks

The Data portion of the message consists of one or more SwitchKit tag length value blocks (TLVs). In Call Control, the TLV is used to send data to, and receive data from, the Excel platform within an API message. A TLV is an internal SwitchKit data structure consisting of the following elements:

u Tag - a label identifying the format of the TLV

u Length - the length of the data to follow

u Value - the data

TLV Format

The format of the Data field is as follows.

Byte

Description

0,1

Overall data length

2,3

Number of parameters

4,5

Tag[0] - Parameter ID

6,7

Length[0] - Length of parameter

:

Value[0] - Data

:

:

:

Value[n]

TEP Formatted TLVs

The following TLVs are defined for use between the CP App and TEP. For more information about TLVs, see the Excel CSP API Reference.

Tag

TLV Name

Used by...

Description

0x2717

Called Number

0x0100

The TLV format is defined in the Excel API Reference Guide.

0x2718

Calling Number

0x0100

The TLV format is defined in the Excel API Reference Guide.

0x6D67

Call ID

All messages (in both directions)

A unique ID used to identify the call.

The value fields of this TLV are an unsigned long presented in an ASCII character array. The length of the TLV is variable and is determined by the number of characters needed to convey the Call ID value.

Call ID 0 is not valid.

The CP App must generate this number before sending any IAMs to the TEP. Both the TEP and CP App then use this ID throughout the life of the call to identify this call instance in the IAMs.

0x6D69

Transfer Destination

0x0300

The value fields of this TLV are the destination number presented in an ASCII character array - one digit per character. The length of the TLV is variable and is determined by the number of characters needed to convey the destination number.

0x6D6C

Transfer Type

0x0300

Type of transfer. The length of this TLV is one byte. Values are:

n 1 - Blind Transfer Request

n 3 - Bridge Transfer Request.

0x6D6D

Transfer Connect Timeout

0x0300

The maximum amount of time (in seconds) the CP App should allow the alerted outbound call to remain unanswered.

The value fields of this TLV are a numerical value presented in an ASCII character array. The CP App runs this timer, and releases the outbound call if it expires.

0x6D6E

Transfer Max Time Timeout

0x0300

The maximum amount of time (in seconds) the CP App should allow the answered outbound call to be connected to the inbound call.

The value fields of this TLV are a numerical value presented in an ASCII character array. The CP App runs this timer, and releases the outbound call if it expires.

0x6D6F

Application to Application Information

0x0300

An ASCII character array that contains application-specific data passed from the vxml session back to the CP App.

0x6D70

Call Failure Reason

0x0403

0x0404

The reason for failure. Values are (spelled as below):

n Bad Number

n Caller Release

n No Answer

n No Channel

n User Busy

0x6D71

Inbound Call Request Status

0x0200

0x0903

Indicates whether the inbound call request is successful. Values are:

n 0 - Failure

n 1 - Success

The TEP will perform no actions on the call when it returns a 0 value. In this case, it is up to the CP App to decide what to do with the call.

When a value of 1 is returned, the TEP will execute the scripted actions for the call.

0x6D72

Call Refuse Reason

0x1100

An ASCII character array that indicates the reason a call was refused by the TEP.